package cn.com.spic.demo.po;

import cn.com.spic.demo.dto.ActionProejctDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.yonyou.iuap.baseservice.entity.AuditTrail;
import com.yonyou.iuap.baseservice.entity.MainBusinessObjectCode;
import com.yonyou.iuap.ucf.common.entity.Identifier;
import com.yonyou.iuap.ucf.common.entity.Timestamp;
import com.yonyou.iuap.ucf.dao.BasePO;

import javax.persistence.Column;
import javax.persistence.Table;
import java.util.Date;
import java.util.List;

/**
 * 九大专项-行动项PO
 */
@Table(name = "more_action_project")
@JsonIgnoreProperties(ignoreUnknown = true)

public class ActionProjectPO extends BasePO implements AuditTrail, MainBusinessObjectCode, Timestamp<Date>, Identifier<String> {


    private static final long serialVersionUID = -1077513444030828319L;

    @Column(name = "special_id")
    private String specialId;
    @Column(name = "special_name")
    private String specialName;
    @Column(name = "action_project_name")
    private String actionProName;
    @Column(name = "spic_group_id")
    private String spicGroupId;
    @Column(name = "benchmark_fild")
    private String benchmarkFild;
    @Column(name = "benchmark_object_id")
    private String benchmarkObjId;
    @Column(name = "question_show")
    private String questionShow;
    @Column(name = "up_goal")
    private String upGoal;
    @Column(name = "main_measure")
    private String mainMeasure;
    @Column(name = "achievement_result")
    private String achievementResult;
    @Column(name = "task_description")
    private String taskDescription;
    @Column(name = "creator_id")
    private String creatorId;
    @Column(name = "telephone")
    private String telephone;
    //    @Column(name = "create_time")
//    private Date createTime;
//    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "start_time")
    private String startTime;
    //    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "end_time")
    private String endTime;
    @Column(name = "status")
    private String status;
    @Column(name = "spic_firstdept_id")
    private String spicFirstDeptId;
    @Column(name = "spic_secdept_id")
    private String spicSecDeptId;
    @Column(name = "spic_firstdept_name")
    private String spicFirstDeptName;
    @Column(name = "spic_secdept_name")
    private String spicSecDeptName;
    @Column(name = "parent_project_id")
    private String parentProjectId;
    @Column(name = "creator_dept")
    private String creatorDept;

    /**
     * 修改人
     */
    @Column(name = "last_modify_user")
    private String lastModifyUser;

    /**
     * 修改时间
     */
    @Column(name = "last_modified")
    private String lastModified;

    /**
     * 创建人
     */
    @Column(name = "create_user")
    private String createUser;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private String createTime;

    @Column(name = "level")
    private String level;

    @Column(name = "def")
    private String def;

    @Column(name = "def1")
    private String def1;

    @Column(name = "def2")
    private String def2;

    @Column(name = "def3")
    private String def3;

    @Column(name = "def4")
    private String def4;

    @Column(name = "def5")
    private String def5;

    @Column(name = "benchmarkTarger")
    private String benchmarkTarger;
    @Column(name = "targetDescription")
    private String targetDescription;
    @Column(name = "targetValue")
    private String targetValue;
    @Column(name = "trueTargetValue")
    private String trueTargetValue;

    @Column(name = "actualTargerValue")
    private String actualTargerValue;


    @Column(name = "weight")
    private String weight;

    private List<ActionProejctDTO> actionProejctDTOS;

    public List<ActionProejctDTO> getActionProejctDTOS() {
        return actionProejctDTOS;
    }

    public void setActionProejctDTOS(List<ActionProejctDTO> actionProejctDTOS) {
        this.actionProejctDTOS = actionProejctDTOS;
    }

    public String getSpicFirstDeptName() {
        return spicFirstDeptName;
    }

    public void setSpicFirstDeptName(String spicFirstDeptName) {
        this.spicFirstDeptName = spicFirstDeptName;
    }

    public String getSpicSecDeptName() {
        return spicSecDeptName;
    }

    public void setSpicSecDeptName(String spicSecDeptName) {
        this.spicSecDeptName = spicSecDeptName;
    }

    @Override
    public String getCreateTime() {
        return createTime;
    }

    public String getSpecialId() {
        return specialId;
    }

    public void setSpecialId(String specialId) {
        this.specialId = specialId;
    }

    public String getSpecialName() {
        return specialName;
    }

    public void setSpecialName(String specialName) {
        this.specialName = specialName;
    }

    public String getActionProName() {
        return actionProName;
    }

    public void setActionProName(String actionProName) {
        this.actionProName = actionProName;
    }

    public String getSpicGroupId() {
        return spicGroupId;
    }

    public void setSpicGroupId(String spicGroupId) {
        this.spicGroupId = spicGroupId;
    }

    public String getBenchmarkFild() {
        return benchmarkFild;
    }

    public void setBenchmarkFild(String benchmarkFild) {
        this.benchmarkFild = benchmarkFild;
    }

    public String getBenchmarkObjId() {
        return benchmarkObjId;
    }

    public void setBenchmarkObjId(String benchmarkObjId) {
        this.benchmarkObjId = benchmarkObjId;
    }

    public String getQuestionShow() {
        return questionShow;
    }

    public void setQuestionShow(String questionShow) {
        this.questionShow = questionShow;
    }

    public String getUpGoal() {
        return upGoal;
    }

    public void setUpGoal(String upGoal) {
        this.upGoal = upGoal;
    }

    public String getMainMeasure() {
        return mainMeasure;
    }

    public void setMainMeasure(String mainMeasure) {
        this.mainMeasure = mainMeasure;
    }

    public String getAchievementResult() {
        return achievementResult;
    }

    public void setAchievementResult(String achievementResult) {
        this.achievementResult = achievementResult;
    }

    public String getTaskDescription() {
        return taskDescription;
    }

    public void setTaskDescription(String taskDescription) {
        this.taskDescription = taskDescription;
    }

    public String getCreatorId() {
        return creatorId;
    }

    @Override
    public String getLastModifyUser() {
        return lastModifyUser;
    }

    @Override
    public void setLastModifyUser(String lastModifyUser) {
        this.lastModifyUser = lastModifyUser;
    }

    @Override
    public String getLastModified() {
        return lastModified;
    }

    @Override
    public void setLastModified(String lastModified) {
        this.lastModified = lastModified;
    }

    @Override
    public String getCreateUser() {
        return createUser;
    }

    @Override
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Override
    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public void setCreatorId(String creatorId) {
        this.creatorId = creatorId;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

//    public Date getCreateTime() {
//        return createTime;
//    }
//
//    public void setCreateTime(Date createTime) {
//        this.createTime = createTime;
//    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getSpicFirstDeptId() {
        return spicFirstDeptId;
    }

    public void setSpicFirstDeptId(String spicFirstDeptId) {
        this.spicFirstDeptId = spicFirstDeptId;
    }

    public String getSpicSecDeptId() {
        return spicSecDeptId;
    }

    public void setSpicSecDeptId(String spicSecDeptId) {
        this.spicSecDeptId = spicSecDeptId;
    }

    public String getParentProjectId() {
        return parentProjectId;
    }

    public void setParentProjectId(String parentProjectId) {
        this.parentProjectId = parentProjectId;
    }

    public String getCreatorDept() {
        return creatorDept;
    }

    public void setCreatorDept(String creatorDept) {
        this.creatorDept = creatorDept;
    }

    public String getMainBoCode() {
        return this.getClass().getSimpleName().replace("PO", "");
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getDef() {
        return def;
    }

    public void setDef(String def) {
        this.def = def;
    }

    public String getDef1() {
        return def1;
    }

    public void setDef1(String def1) {
        this.def1 = def1;
    }

    public String getDef2() {
        return def2;
    }

    public void setDef2(String def2) {
        this.def2 = def2;
    }

    public String getDef3() {
        return def3;
    }

    public void setDef3(String def3) {
        this.def3 = def3;
    }

    public String getDef4() {
        return def4;
    }

    public void setDef4(String def4) {
        this.def4 = def4;
    }

    public String getDef5() {
        return def5;
    }

    public void setDef5(String def5) {
        this.def5 = def5;
    }

    public String getBenchmarkTarger() {
        return benchmarkTarger;
    }

    public void setBenchmarkTarger(String benchmarkTarger) {
        this.benchmarkTarger = benchmarkTarger;
    }

    public String getTargetDescription() {
        return targetDescription;
    }

    public void setTargetDescription(String targetDescription) {
        this.targetDescription = targetDescription;
    }

    public String getTargetValue() {
        return targetValue;
    }

    public void setTargetValue(String targetValue) {
        this.targetValue = targetValue;
    }

    public String getTrueTargetValue() {
        return trueTargetValue;
    }

    public void setTrueTargetValue(String trueTargetValue) {
        this.trueTargetValue = trueTargetValue;
    }

    public String getActualTargerValue() {
        return actualTargerValue;
    }

    public void setActualTargerValue(String actualTargerValue) {
        this.actualTargerValue = actualTargerValue;
    }

    public String getWeight() {
        return weight;
    }

    public void setWeight(String weight) {
        this.weight = weight;
    }
}
